package ntd.kotlin

class StudyNull {
}

fun main() {
    //类型后面加?表示可为空
    var age: String? = "23"
    //抛出空指针异常
    val ages = age!!.toInt()
    //不做处理返回 null
    val ages1 = age?.toInt()
    //age为空返回-1
    val ages2 = age?.toInt() ?: -1

    val c = parseInt("")

    if (c != null) {
        // 必须判断c不为空之后才能使用
        print(c + 1)
    }

}

// 当 str 中的字符串内容不是一个整数时, 返回 null
fun parseInt(str: Any): Int? {
    if (str is String) {
        // 做过类型判断以后，obj会被系统自动转换为String类型
        return str.length
    }
    return null
}